之前已經針對登入登出進行控管,非登入無法進入會員頁,按照此網站的需求,訂單建置、訂單查詢及會員專頁,因涉汲帳戶以及個資,若直接主頁之下的頁面(HOME\user)也應該是判斷是否登入,並直接跳回首頁或提醒。
path: "/user",
name: "user",
component: User,
meta: { requiresAuth: true }, // 登入前須經過驗證
path: "/about",
name: "about",
component: () =>
import("./components/About.vue"),
meta: { requiresAuth: true }
path: "/products",
name: "products",
component: () =>
import("./components/Products.vue"),
meta: { requiresAuth: true }
},
//需經過驗證才可登入
router.beforeEach((to, from, next) => {
console.log('to', to);
console.log('from', from);
console.log('next', next);
const requiresAuth = to.matched.some(x => x.meta.requiresAuth)
const currentUser = sessionStorage.getItem('user-info');
console.log(requiresAuth)
console.log(currentUser)
// 未經過驗證則到首頁
if (requiresAuth && !currentUser) {
console.log('未經過登入驗證');
next('/')
} else if (requiresAuth && currentUser) {
next()
} else {
next()
}
})
3.直接連線行不行
目前設計是能排除這個問題,像是會員中心頁面,複製以下頁面,在未登入的情況下會將頁面重新導至首頁
( http://127.0.0.1:8083/user )
這樣一個簡單的應用網站就完成了,本來想要再調整些東西,但原來今天是最後一天,中間有一個天數寫錯了,本來想要在明天好好再最後一天補上心得。看看明天來補充心得囉~~
不管如何開心就是開心啦
說來也真是神奇,莫名其妙的參賽,莫名其妙的中斷,只怪我沒檢查,不過最後還是順利的完成30天的鐵人!
總結一下最後完成的事項吧
前端
以Vue.js為框架,改寫購物網站demo,建構出登入、繳費、即時查詢紀錄的社區服務網站。
後端
利用python的FASTAPI套件,建構加密、建置訂單以及查詢紀錄之對應API。
資料庫
建置快速應用的Json Server,以json存放資料庫,快速與API結合,未來可以嘗試提供雲端快速部屬的firebase或最近很夯的MongoDB使用。
未來應用
目前建置已將整個收繳費用之金流串接起來,算是基本架設,未來可以嘗試購物網站的實作,並且建構出更完整的網頁功能,
賽後心得
第一次參加鐵人賽,其實跌跌撞撞的,加上部分程式的開發都是第一次,在沒有太多時間建置的情況下,花了不少時間反覆調整的,給自己的建議是未來再來一次鐵人賽,一開始可以花多一點時間規劃架構及章節。這次就給自己個勉強及格的分數,以後再好好鐵人一下~